The present invention relates generally to nonvolatile memory systems and, more particularly, to a method and apparatus for reading data from a nonvolatile memory device.
Nonvolatile memory devices include flash memory devices, such as NAND flash, electrically erasable programmable read-only memory (EEPROM) devices, and resistive memory devices. In certain nonvolatile memory devices such as flash memory, as the number of program/erase cycles increases, reliability decreases. An error correction coding (ECC) circuit may be used to correct errors in data read from a flash memory device. When it is difficult or not possible to correct errors using the ECC circuit, a data read retry operation (or sequence) may be performed.
In one known system, if a read command that is sent from a memory controller to a nonvolatile memory device results in read data having errors that cannot be corrected by an ECC, then a read retry command is issued instructing the memory to read the same page but using a different operating parameter, such as the magnitude of the reference voltage that is applied to the word line of a page and may be retrieved from a look up table residing in the memory controller. Different manufacturers of NAND flash memory tend to employ different read retry sequences for their respective products and new sequences are continually being introduced. A boot ROM typically may be used to support a read retry sequence but boot ROMs cannot be updated and therefore a boot ROM is incapable of supporting newly introduced read retry sequences.
Hence it would be advantageous to provide a capability to perform different read retry sequences. It would also be advantageous to be able to perform different read retry sequences without any need for a change in boot ROM code.